﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DBUtility
{
    public class SqlScript
    {
        /// <summary>
        /// 检查是否存在
        /// </summary>
        /// <param name="name"></param>
        /// <returns></returns>
        /// 
        //internal bool CheckSubmitUnitIsExist(string name)
        //{
        //    Relations.DBUtility.SqlServer.SqlDb sqlDb = null;
        //    try
        //    {
        //        string sqlScript;
        //        sqlScript = string.Format("Select Id From tb_SubmitUnit Where Name = '{0}';", name);
        //        sqlDb = Static.Methods.OpenDataBase();
        //        if (sqlDb.RunSqlScript(sqlScript).Rows.Count > 0)
        //            return true;
        //        else
        //            return false;
        //    }
        //    catch (Exception ex)
        //    {
        //        throw new Exception("检查送检单位是否存在失败，错误信息：" + ex.Message);
        //    }
        //    finally
        //    {
        //        if (sqlDb != null)
        //            Static.Methods.CloseDataBase(sqlDb);
        //    }
        //}

        ///   获取数量 
        //internal int GetSubmitUnitCount()
        //{
        //    Relations.DBUtility.SqlServer.SqlDb _SqlDb = null;
        //    int _Result;
        //    string _Scalar = string.Empty;
        //    string _SqlScript;
        //    try
        //    {
        //        _Result = -1;

        //        _SqlScript = string.Format("Select Count(*) From tb_SubmitUnit");
        //        _SqlDb = Static.Methods.OpenDataBase();

        //        _Scalar = _SqlDb.RunSqlScriptReturnScalar(_SqlScript);

        //        if (string.IsNullOrEmpty(_Scalar))
        //        {
        //            _Result = 0;
        //        }
        //        else
        //        {
        //            _Result = Convert.ToInt32(_Scalar);
        //        }

        //        return _Result;
        //    }
        //    catch (Exception ex)
        //    {
        //        throw new Exception("获取送检单位数量失败，错误信息：" + ex.Message);
        //    }
        //    finally
        //    {
        //        if (_SqlDb != null)
        //            Static.Methods.CloseDataBase(_SqlDb);
        //    }
        //}


        ///  保存数据-单个
        //internal void SaveCheckInstrument(Model.DB.tb_AlarminstrumentInfo alarminstrumentInfo)
        //{
        //    Relations.DBUtility.SqlServer.SqlDb _SqlDb = null;
        //    string _SqlScript = string.Empty;
        //    try
        //    {
        //        _SqlScript += "Insert Into tb_AlarminstrumentInfo (InstrumentName,FactoryNumber,Model,ContractNo,SubmitUnit,Manufacturer,GasTypeList,SampingMode,ImageInfo,InputUserId,GPSInfo,ModifyDate,CreateDate,uploadDate)";
        //        _SqlScript += $"    Values ('{alarminstrumentInfo.InstrumentName}','{alarminstrumentInfo.FactoryNumber}','{alarminstrumentInfo.Model}','{alarminstrumentInfo.ContractNo}','{alarminstrumentInfo.SubmitUnit}','{alarminstrumentInfo.Manufacturer}','{alarminstrumentInfo.GasTypeList}',{(int)alarminstrumentInfo.SampingMode},'{alarminstrumentInfo.ImageInfo}',{Static.ParaInfo.CurrentUser.userId},'{alarminstrumentInfo.GPSInfo}',Null,'{DateTime.Now.ToString(Static.ParaInfo.DateFormatLong)}',Null)";


        //        _SqlDb = Static.Methods.OpenDataBase();
        //        _SqlDb.UpdateSqlScript(_SqlScript);
        //    }
        //    catch (Exception ex)
        //    {
        //        throw new Exception("保存报警器失败，错误信息：" + ex.Message);
        //    }
        //    finally
        //    {
        //        if (_SqlDb != null)
        //            Static.Methods.CloseDataBase(_SqlDb);
        //    }
        //}

        /// 删除
        //internal void DeleteForTaskID(List<string> ListTaskId)
        //{
        //    Relations.DBUtility.SqlServer.SqlDb _SqlDb = null;
        //    string _TaskIds = string.Empty;
        //    string _SqlScript = string.Empty;
        //    try
        //    {
        //        _SqlDb = Static.Methods.OpenDataBase();
        //        _TaskIds = Static.Methods.CombiningStrings1<string>(ListTaskId);

        //        _SqlScript = "Delete From tb_TaskInfo";
        //        _SqlScript += $" Where TaskId in ( {_TaskIds} )";

        //        _SqlDb.UpdateSqlScript(_SqlScript);
        //    }
        //    catch (Exception ex)
        //    {
        //        throw new Exception("删除任务失败，错误信息：" + ex.Message);
        //    }
        //    finally
        //    {
        //        if (_SqlDb != null)
        //            Static.Methods.CloseDataBase(_SqlDb);
        //    }
        //}


        /// 将Datatable转成List对象
        //private List<Model.DB.tb_RoleInfo> DataTableToList(DataTable dataTable)
        //{
        //    List<Model.DB.tb_RoleInfo> _Result;
        //    Model.DB.tb_RoleInfo _Temp;
        //    try
        //    {
        //        _Result = new List<Model.DB.tb_RoleInfo>();
        //        for (int i = 0; i < dataTable.Rows.Count; i++)
        //        {
        //            _Temp = new Model.DB.tb_RoleInfo();
        //            _Temp.RoleId = int.Parse(dataTable.Rows[i]["RoleId"].ToString());
        //            _Temp.Name = dataTable.Rows[i]["Name"].ToString();
        //            _Result.Add(_Temp);
        //        }
        //        return _Result;
        //    }
        //    catch (Exception ex)
        //    {
        //        throw new Exception("将Datatable转换成List<Model.DB.tb_RoleInfo>有异常：" + ex.ToString());
        //    }
        //}


        /// 查询
        //internal List<Model.DB.tb_RoleInfo> GetRoleInfoList()
        //{
        //    Relations.DBUtility.SqlServer.SqlDb _SqlDb = null;
        //    List<Model.DB.tb_RoleInfo> _Result;
        //    DataTable _DataTable;
        //    string _SqlScript;
        //    try
        //    {

        //        _SqlScript = "Select * From tb_RoleInfo Order By RoleId";
        //        _SqlDb = Static.Methods.OpenDataBase();
        //        _DataTable = _SqlDb.RunSqlScript(_SqlScript);
        //        _Result = DataTableToList(_DataTable);

        //        return _Result;
        //    }
        //    catch (Exception ex)
        //    {
        //        throw new Exception("获取角色信息失败，错误信息：" + ex.Message);
        //    }
        //    finally
        //    {
        //        if (_SqlDb != null)
        //            Static.Methods.CloseDataBase(_SqlDb);
        //    }
        //}

        ///获取GPS信息
        //internal List<GPSInfo> GetGPSInfo()
        //{
        //    Relations.DBUtility.SqlServer.SqlDb _SqlDb = null;
        //    List<Model.DB.GPSInfo> _Result;
        //    Model.DB.GPSInfo _Temp = null;
        //    DataTable _DataTable;
        //    string _SqlScript;
        //    try
        //    {
        //        _Result = new List<GPSInfo>();

        //        _SqlScript = "Select id,name,Latitude,Longitude,GPSDesc,uploadDate From tb_SubmitUnit Order By Id";

        //        _SqlDb = Static.Methods.OpenDataBase();

        //        _DataTable = _SqlDb.RunSqlScript(_SqlScript);
        //        for (int i = 0; i < _DataTable.Rows.Count; i++)
        //        {
        //            if (!Relations.Common.Methods.IsFloat(_DataTable.Rows[i]["Latitude"].ToString()) || !Relations.Common.Methods.IsFloat(_DataTable.Rows[i]["Longitude"].ToString())) continue;

        //            _Temp = new Model.DB.GPSInfo();
        //            _Temp.Id = _DataTable.Rows[i]["Id"].ToString();
        //            _Temp.Name = _DataTable.Rows[i]["Name"].ToString();
        //            _Temp.Latitude = float.Parse(_DataTable.Rows[i]["Latitude"].ToString());
        //            _Temp.Longitude = float.Parse(_DataTable.Rows[i]["Longitude"].ToString());
        //            _Temp.GpsDesc = _DataTable.Rows[i]["GPSDesc"].ToString();
        //            _Temp.UploadDate = DateTime.Parse(_DataTable.Rows[i]["uploadDate"].ToString());

        //            _Result.Add(_Temp);
        //        }
        //        return _Result;
        //    }
        //    catch (Exception ex)
        //    {
        //        throw new Exception("获取送检单位GPS信息失败，错误信息：" + ex.Message);
        //    }
        //    finally
        //    {
        //        if (_SqlDb != null)
        //            Static.Methods.CloseDataBase(_SqlDb);
        //    }
        //}
    }
}
